﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough]
    public class PTZStatusFilterOptions
    {
        private XmlAttribute[] anyAttrField;
        private XmlElement[] anyField;
        private PTZStatusFilterOptionsExtension extensionField;
        private bool panTiltPositionSupportedField;
        private bool panTiltPositionSupportedFieldSpecified;
        private bool panTiltStatusSupportedField;
        private bool zoomPositionSupportedField;
        private bool zoomPositionSupportedFieldSpecified;
        private bool zoomStatusSupportedField;

        [XmlAnyElement(Order=2)]
        public XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=5)]
        public PTZStatusFilterOptionsExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=3)]
        public bool PanTiltPositionSupported
        {
            get
            {
                return this.panTiltPositionSupportedField;
            }
            set
            {
                this.panTiltPositionSupportedField = value;
            }
        }

        [XmlIgnore]
        public bool PanTiltPositionSupportedSpecified
        {
            get
            {
                return this.panTiltPositionSupportedFieldSpecified;
            }
            set
            {
                this.panTiltPositionSupportedFieldSpecified = value;
            }
        }

        [XmlElement(Order=0)]
        public bool PanTiltStatusSupported
        {
            get
            {
                return this.panTiltStatusSupportedField;
            }
            set
            {
                this.panTiltStatusSupportedField = value;
            }
        }

        [XmlElement(Order=4)]
        public bool ZoomPositionSupported
        {
            get
            {
                return this.zoomPositionSupportedField;
            }
            set
            {
                this.zoomPositionSupportedField = value;
            }
        }

        [XmlIgnore]
        public bool ZoomPositionSupportedSpecified
        {
            get
            {
                return this.zoomPositionSupportedFieldSpecified;
            }
            set
            {
                this.zoomPositionSupportedFieldSpecified = value;
            }
        }

        [XmlElement(Order=1)]
        public bool ZoomStatusSupported
        {
            get
            {
                return this.zoomStatusSupportedField;
            }
            set
            {
                this.zoomStatusSupportedField = value;
            }
        }
    }
}

